package com.company.eos.mapper;

import com.company.eos.domain.AuditMeeting;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;

import java.util.ArrayList;
import java.util.HashMap;

/**
* @author Real
* @description 针对表【tb_audit_meeting(会议表)】的数据库操作Mapper
* @createDate 2022-04-29 00:28:40
* @Entity com.company.eos.domain.AuditMeeting
*/
@Mapper
@Repository
public interface AuditMeetingMapper extends BaseMapper<AuditMeeting> {

    /**
     * 查询参会人是否为同一个部门
     *
     * @param uuid
     * @return
     */
    boolean searchMeetingMembersInSameDept(String uuid);

    /**
     * 根据Id查询会议详情
     *
     * @param param
     * @return
     */
    HashMap searchMeetingById(HashMap param);

    /**
     * 查询线下会议分页表单
     *
     * @param param
     * @return
     */
    ArrayList<HashMap> searchOfflineMeetingByPage(HashMap param);

    /**
     * 查询线上会议分页表单
     *
     * @param param
     * @return
     */
    ArrayList<HashMap> searchOnlineMeetingByPage(HashMap param);

    /**
     * 查询会议总数
     *
     * @param param
     * @return
     */
    Long searchOnlineMeetingCount(HashMap param);

    /**
     * 查询会议室记录总数
     *
     * @param param
     * @return
     */
    long searchOfflineMeetingCount(HashMap param);

    /**
     * 更新会议记录
     *
     * @param param
     * @return
     */
    int updateMeetingInstanceId(HashMap param);

    /**
     * 查询线下会议周日历
     *
     * @return
     */
    ArrayList<HashMap> searchOfflineMeetingInWeek(HashMap param);

    /**
     * 查询线下会议详情
     *
     * @param id
     * @return
     */
    HashMap searchMeetingInfo(int id);

    /**
     * 正在进行中的会议详情
     *
     * @param id
     * @return
     */
    HashMap searchCurrentMeetingInfo(long id);

    /**
     * 查询线上会议成员
     *
     * @param param
     * @return
     */
    ArrayList<HashMap> searchOnlineMeetingMembers(HashMap param);

    /**
     * 查询会议是否可以签到
     *
     * @param param
     * @return
     */
    Long searchCanCheckMeeting(HashMap param);

    /**
     * 更新出席人员名单
     *
     * @param param
     * @return
     */
    int updateMeetingPresent(HashMap param);

    /**
     * 删除会议
     *
     * @param param
     * @return
     */
    int deleteMeetingApplication(HashMap param);

}




